/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						 battlefield_passablity_map.h

	$Header: /heroes4/battlefield_passablity_map.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( BATTLEFIELD_PASSABILITY_MAP_H_INCLUDED )
#define BATTLEFIELD_PASSABILITY_MAP_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "bitmap_group.h"
#include "counted_ptr.h"
#include "isometric_map.h"
#include "progress_handler.h"

enum t_combat_passability 
{
	k_combat_passability_impassable	= -1,
	k_combat_passability_undefined,
	k_combat_passability_passable,
	k_combat_passability_passable_no_obstacle
};


class t_battlefield_passablity_map : public t_isometric_map<t_int8>, 
									 public t_counted_object 
{
public:

	t_battlefield_passablity_map();

	t_battlefield_passablity_map( int							map_size,
								  int							tile_height,
								  t_screen_point const &		view_size,
								  t_int8 const&	value = k_combat_passability_undefined);
	
	virtual ~t_battlefield_passablity_map( );

	void	read( std::streambuf& buffer, int version );
	void	write( std::streambuf& buffer, t_progress_handler* handler = NULL );
};

typedef t_counted_ptr<t_battlefield_passablity_map> t_battlefield_passablity_map_ptr;

#endif	//BATTLEFIELD_PASSABILITY_MAP_H_INCLUDED